home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 147
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin
/
games
/
zls
/
gaia
/
gaia.bas
next >
Wrap
BASIC Source File
|
2000-07-01
|
81KB
|
2,934 lines
/* GAIAFLY cornercept software 1999,2000
/* main character design by NO 1999
dim char mem(15,8) /* 0.gain 1.stats(0:ready/1:out/2:miss/3:place/4:
/* 2.special 3.ITEM1 4.ITEM2 5.ITEM3 6.OUT_RESULT 7.rem2 8.rem3
dim int hr_point(15)
dim int herrord(15)
dim int mis(5,6) /* 0.activity 1.Xpos 2.Ypos 3.ataX 4.ataY 5.phase 6.direction
dim int posis(15,1) /* x,y
dim str difc$(1)={"normal","(slow)"}
dim int pxm(15),pym(15)
/* AR DR SR RR SL OL KS ML DT1 DT2 AME
dim char vm(4,10)={31, 0, 2, 0, 0, 21, 1, 3, 0, 1, 0
,31, 0, 0, 8, 0, 2, 2, 1, 0, 0, 0
,31, 0, 0, 8, 0, 3, 0, 1, 3, 0, 0
,31, 8, 6, 6, 12, 3, 2, 1, 7, 0, 0
/* AL FB OM PAN WF
, 3, 7, 15, 3, 0, 0, 0, 0, 0, 0, 0}
/* AR DR SR RR SL OL KS ML DT1 DT2 AME
dim char v2(4,10)={31, 12, 2, 6, 10, 21, 1, 3, 3, 2, 0
,31, 0, 0, 8, 0, 2, 0, 1, 0, 0, 0
,31, 8, 2, 6, 5, 3, 2, 2, 3, 0, 0
,31, 8, 2, 6, 5, 3, 0, 2, 7, 0, 0
/* AL FB OM PAN WF
, 7, 7, 15, 3, 0, 0, 0, 0, 0, 0, 0}
/* AR DR SR RR SL OL KS ML DT1 DT2 AME
dim char v3(4,10)={31, 0, 2, 0, 0, 21, 1, 3, 0, 1, 0
,31, 0, 0, 8, 0, 2, 2, 1, 0, 0, 0
,31, 0, 0, 8, 0, 3, 0, 1, 3, 0, 0
,31, 8, 6, 6, 12, 3, 2, 1, 7, 0, 0
/* AL FB OM PAN WF
, 5, 7, 15, 3, 0, 0, 0, 0, 0, 0, 0}
/*(T1) @1t60l16v16o4q7e1
int trig /* ACTIVE BULLETS
dim char ksk(9)={0,1,2,2,3,4,5,8,12,19}
dim char gp(127),gs(255)
dim char cg(128*16)
dim char bul(15)={ 2, 3, 2, 2, 3, 2, 4, 4, 1, 2, 3, 1, 2, 3, 2, 2}
dim char lng(15)={34,20,24,24,33,24,29,19,64,54,24,24,56,16,34,18}
dim char bsp(15)={ 2, 3, 3, 4, 1, 3, 3, 1, 5, 1, 3, 3, 1, 2, 2, 1}
dim char bre(15)={ 1, 4, 6, 3, 0, 2, 1, 4, 3, 4, 0, 0, 3, 3, 5, 2}
dim char cha(15)={10, 8, 8, 8, 9,12 ,6,10, 8, 8, 8, 8, 3, 8, 8, 4}
int enter /* Using Character Number
char enterm
char fir
int i,xi,vi
int xx,yy
int sta /* stage
int hr /* players
int gh /* goal players
int px,py,psp,pdr,pd /* player parametar
int k /* inkey code
char ts=0,difc /* ts = 2 : FOR DEBUG
char dip /* display sw
int p,rvs
char quik
char charge
char dv
char conti
char tkmd
char outorde /* goal result numb
char vcut=0
char jin
int din
int mc,rh,sho,en,mt,gmc,gmcp
dim int mcx(12),mcy(12),rx(15),ry(15),rn(15),ex(5),ey(5),mtx(2),mty(2)
int shox,shoy
dim int misx(8),misy(8),misd(8)
dim int mox(4),moy(4),mos(4),mod(4)
int mon
char don
int dox,doy
int kiex,kiey,kien
int resque
dim mcpp(19)
dim int maderi(512) /* playerdisp: x4 size character window
int jack /* choice in gameloop: chalenge-stage switch
dim char difx(255),dify(255)
/*------------------
dip=1
if b_argc>1 then {
for i=1 to b_argc-1
if left$(b_argv(i),1)<>"-" and left$(b_argv(i),1)<>"/" then continue
b_argv(i)=right$(b_argv(i),len(b_argv(i))-1)
if b_argv(i)="H" or b_argv(i)="h" or b_argv(i)="?" then {
color [,rgb(0,19,19),,65535]
color 1
print "GAIA:THE FEAR OF THE SHARK,THE TIGER AND THE BEE (c)1999,2000 CORNERCEPT/NO/ZLS"
print ""
color 3
print " [-T] テストモードで起動します"
print " [-D] 難度をおとす(ややスピードが低下)"
print " [-V_CUT]《10MHz機用スイッチ》一部ウエイト処理をキャンセルし高速化します"
print " [-L] 15kHzモードで起動します"
print ""
end
}
if b_argv(i)="D" or b_argv(i)="d" then difc=1
if b_argv(i)="T" or b_argv(i)="t" then ts=1
if b_argv(i)="L" or b_argv(i)="l" then dip=0
if b_argv(i)="V_CUT" or b_argv(i)="v_cut" then vcut=1
next
}
cls
error off
m_init()
if errno<>0 then {
pen(0,7,"MESSAGE from [GAIA.BAS]")
pen(0,8,"ZMUSICを常駐させてからプログラムを実行してください。")
end
}
error on
console ,,0
screen 1,1,dip,1
console 0,31,0
dip=oz(dip)
v_priority("STG")
palet(1,1)
m_ch("FM")
m_alloc(1,512)
m_alloc(2,512)
m_alloc(3,2000)
m_alloc(4,200)
m_alloc(5,200)
m_alloc(6,200)
m_alloc(7,200)
m_alloc(8,200)
m_alloc(9,200)
m_alloc(10,200)
m_alloc(11,1800)
m_alloc(12,200)
m_alloc(13,200)
k=m_fmvset(70,vm)
k=m_fmvset(71,v2)
k=m_fmvset(72,v3)
m_assign(1,1)
m_assign(2,2)
m_assign(3,3)
m_assign(4,4)
/*m_assign(5,5)
m_trk(1,"@71t60l16v16q7o4L8(e>g)")
/*m_trk(2,"@71o5t60l32v12q8(e<c64)o4(e<c64)v11(e16>c)")
/*m_trk(2,"@71o2t60l32v12q8(e<c64)(e<c64)v11o3(e16<c)") /* ブクワン
/* landing
m_trk(8,"@70t60l8v15o7q6g32r32q6v13c32r32q8v8o1e4")
/*m_trk(8,"@7o3t60l8v14q8(d32>b)o6g64v12o2(c4>g)")
/*m_trk(8,"@71t60l32v12q6o4(e8<g16)")
/* damage
m_trk(3,"@70o1t50l32v14q7(a64c64)o3q8(a64>g32)(a16<d8)")
/* backflip
m_trk(4,"o6t80l16v11q6@72q7(e<d4)") /*
/* resque friendly
m_trk(5,"o7t80l64v11@72q7(ea)(ea)(ea)(ea)")
/* credit
m_trk(2,"o3t80l16v8q6@72g32o4v9(ce4)") /* 「ブインッ」
/* players shot
m_trk(7,"@70o6t90l32v12q8(d32e16)")
/*m_trk(7,"@70o4t50l32v11q7(a64c32)v12o6q8(c32<g16)")
/* get ラーメン
/*m_trk(6,"@71o4t60l16v16q8(e<c4)") /* プワーッ
m_trk(6,"@72o6t60l16v11q8e")
/*破壊音
m_trk(9,"@70o2t50l32v15q5(b64c)o5q6(f>e8)")
/*m_trk(9,"@70o2t50l32v15q5(b64c)o1(f<b64)") /*もと破壊音 マシン歩行音
m_trk(10,"@71o4t60l16v16q8(e<c4)") /* プワーッ
/*m_trk(10,"@71o4t60l32v12q6bbo5(e8<g16)") /*もと着地音 プゥイーン
m_trk(11,"@72o3t140l16v8q6g32o4v9(ce4)") /* 「ブインッ」
sp_clr()
gset()
for i=0 to 15
playerdisp(i)
next
if ts=1 then { /* SCREEN TEST
sc()
msarea(0,0,511,511)
mouse(4)
mouse(1)
sta=1:xx=250:yy=250
while 1
vpage(1)
stand(sta)
vpage(3)
while 1
locate 59,25:print using"##";sta
k=asc(inkey$(0))
if k=28 then {
sta=sta+1
if sta>80 then sta=1
}
if k=29 then {
sta=sta-1
if sta<1 then sta=80
}
if k=32 then xx=250:yy=250
if k=13 then break
k=stick(1)
switch tkmd
case 0:/* grid
if k=0 then k=5
if k mod 3=1 then xx=xx-1
if k mod 3=0 then xx=xx+1
if k>6 then yy=yy-1
if k<4 then yy=yy+1
if xx<0 then xx=0
if xx>511 then xx=511
if yy>511 then yy=511
if yy<0 then yy=0
if strig(1)=1 then v_disp()
if strig(1)=2 then rere():tkmd=oz(tkmd):i=1:locate 30,25:print " ":if tkmd=1 then locate 30,25:print "Select"
break
case 1:/* shift
if k=6 then sta=sta+1:if sta>80 then sta=1
if k=4 then sta=sta-1:if sta<1 then sta=80
while 1
if stick(1)=0 then break
endwhile
if strig(1)=1 then vpage(1):stand(sta):vpage(3):i=1
if strig(1)=2 then rere():tkmd=oz(tkmd):i=1:locate 30,25:print " ":if tkmd=1 then locate 30,25:print "Select"
break
endswitch
setmspos(xx,yy)
locate 30,24:print using"x### y###";xx,yy
if i=0 then continue
i=0
if tkmd=0 then continue
while 1
if strig(1)=0 then break
endwhile
endwhile
endwhile
}
if ts=0 then {
title()
while 1
if inkey$(0)=chr$(27) then end
if strig(1)>0 then break
if stick(1)=6 then difc=1:v_disp():pen(48,24,difc$(difc))
if stick(1)=4 then difc=0:v_disp():pen(48,24,difc$(difc))
endwhile
titleout()
}
while 1 /* ----------------------------------------------------
quik=0
home(1,0,0)
sp_disp(1)
px=40:py=100
hr=2
for i=0 to 15:hr_point(i)=0:next
mem(7,0)=1
mem(13,0)=1
mem(7,1)=0
mem(13,1)=0
enter=13
sp_off()
sta=1
sc()
color [0,rgb(0,19,19)]
for sta=1 to 22
sp_off()
vpage(1)
stand(sta)
if rh>0 then {
for i=0 to rh-1
sp_move(25+i,rx(i),ry(i),rn(i))
next
}
if mc>0 then {
for i=0 to mc-1
sp_move(41+i,mcx(i),mcy(i),32)
next
}
vpage(3)
if ts=2 then {
hitany(0)
if stick(1)>0 then continue
}
if sta=22 then enn()
entersel()
apage(0)
v_disp()
selec(0)
ready()
apage(1)
while 1
/*locate 0,30:print using"x### y### #";px,py,k;
dv=dv+1:if dv=4 then dv=0
din=din+1
if difc=1 then if din>6 then v_disp():din=0-jin
if vcut=0 then v_disp()
sp_move(20,px,py,enter)
if rh>0 then { /* 同胞の救出
for i=0 to rh-1
if abs(px-rx(i))<10 then if abs(py-ry(i))<10 then {
m_assign(5,5)
mem(rn(i),0)=1:mem(rn(i),1)=0
hr=hr+1:sp_move(25+i,resque,370,rn(i))
resque=resque+18
rx(i)=999
locate 59,26:print using"##";hr
m_play(5)
}
next
}
if don=1 then if abs(px-dox)<10 then if abs(py-doy)<10 then {
m_assign(5,10)
m_play(10)
sp_off(82)
conti=conti+1
don=0
}
/* if kiex<px then if abs(px-kiex)<10 then if abs(py-kiey)<10 then {
/* switch kien
/* case 1:
/*
/* }
if mc>0 then { /* 麺類の回収
for i=0 to mc-1
if abs(px-mcx(i))<10 then if abs(py-mcy(i))<10 then {
m_assign(5,6)
sp_off(41+i)
mcx(i)=mcx(i)+999
gmc=gmc+1:if gmc+gmcp=mc then hata(1) /* 旗たてる
m_play(6)
}
next
}
if rvs>0 then { /* プレイヤーキャラクターの残像
sp_set(21,pxm(2)+16,pym(2)+16,512+enter,3)
sp_set(22,pxm(4)+16,pym(4)+16,768+enter,3)
sp_set(23,pxm(6)+16,pym(6)+16,1024+enter,3)
}
if asc(inkey$(0))=27 then hitany(1) /* ポーズ
jin=0
for i=0 to 5
if mis(i,0)=0 then {
if jin<2 then din=din+1
continue
}
jin=jin+1
if mis(i,0)=5 then {
apage(1)
for xx=mis(i,1)+mis(i,3)-4 to mis(i,1)+mis(i,3)+4
for yy=mis(i,2)+mis(i,4)-4 to mis(i,2)+mis(i,4)-2
if point(xx,yy)=5 then pset(xx,yy,0)
next
next
mis(i,0)=4
continue
}
if mis(i,0)=4 then {
apage(1)
for xx=mis(i,1)+mis(i,3)-4 to mis(i,1)+mis(i,3)+4
for yy=mis(i,2)+mis(i,4)-1 to mis(i,2)+mis(i,4)
if point(xx,yy)=5 then pset(xx,yy,0)
next
next
mis(i,0)=3
apage(0)
paint(mis(i,1)+mis(i,3),mis(i,2)+mis(i,4),0)
apage(1)
continue
}
if mis(i,0)=3 then {
apage(1)
for xx=mis(i,1)+mis(i,3)-4 to mis(i,1)+mis(i,3)+4
for yy=mis(i,2)+mis(i,4)+1 to mis(i,2)+mis(i,4)+2
if point(xx,yy)=5 then pset(xx,yy,0)
next
next
mis(i,0)=2
continue
}
if mis(i,0)=2 then {
apage(1)
for xx=mis(i,1)+mis(i,3)-4 to mis(i,1)+mis(i,3)+4
for yy=mis(i,2)+mis(i,4)+3 to mis(i,2)+mis(i,4)+4
if point(xx,yy)=5 then pset(xx,yy,0)
next
next
mis(i,0)=0:trig=trig-1
continue
}
mis(i,1)=mis(i,1)+mis(i,6)
if bre(enter)>0 then {
switch bre(enter)
case 1:/*down(small)
if dv=0 then mis(i,2)=mis(i,2)+1:if mis(i,2)>358 then mis(i,0)=0:sp_off(76+i):trig=trig-1:break
break
case 2:/*down(normal)
if dv=0 then mis(i,2)=mis(i,2)+2:if mis(i,2)>358 then mis(i,0)=0:sp_off(76+i):trig=trig-1:break
break
case 3:/*detarame up
if dv/2=0 then mis(i,2)=mis(i,2)-rnd()*5-1:if mis(i,2)<10 then mis(i,0)=0:sp_off(76+i):trig=trig-1:break
break
case 4:/*down(large)
mis(i,2)=mis(i,2)+2:if mis(i,2)>358 then mis(i,0)=0:sp_off(76+i):trig=trig-1:break
break
case 5:/*remote 1
mis(i,2)=py:if mis(i,2)<10 then mis(i,0)=0:sp_off(76+i):trig=trig-1:break
break
case 6:/*remote 2
if mis(i,2)>py then mis(i,2)=mis(i,2)-2 else mis(i,2)=mis(i,2)+2
if mis(i,2)<10 then mis(i,0)=0:sp_off(76+i):trig=trig-1:break
break
endswitch
if mis(i,0)=0 then continue
}
mis(i,5)=mis(i,5)+1:if mis(i,5)>lng(enter) then mis(i,1)=500
if mis(i,1)>485 then mis(i,0)=0:sp_off(76+i):trig=trig-1:continue
sp_move(76+i,mis(i,1),mis(i,2),enter+16)
apage(1)
if jack=0 then {
p=point(mis(i,1)+mis(i,3),mis(i,2)+mis(i,4))
if p=5 then {
m_assign(1,9)
m_play(9)
apage(0)
circle(mis(i,1)+mis(i,3),mis(i,2)+mis(i,4),6,15)
paint(mis(i,1)+mis(i,3),mis(i,2)+mis(i,4),15)
apage(1)
sp_off(76+i)
mis(i,0)=5
continue
}
if p=7 then {
sp_off(76+i)
mis(i,0)=0:trig=trig-1
continue
}
}
next
apage(1)
p=point(px+8,py+13)
if p=15 then {
goal()
if quik=1 then quik=0:break
continue
}
p=point(px+8,py+15)
if p=15 then {
goal()
if quik=1 then quik=0:break
continue
}
if p>5 then over()
if p=5 then {
yy=0
xx=point(px+7,py+14):if xx=5 then yy=1
xx=point(px+8,py+14):if xx=5 then yy=yy+1
xx=point(px+9,py+14):if xx=5 then yy=yy+1
xx=point(px+7,py+15):if xx=5 then yy=yy+1
xx=point(px+9,py+15):if xx=5 then yy=yy+1
xx=point(px+7,py+16):if xx=5 then yy=yy+1
xx=point(px+8,py+16):if xx=5 then yy=yy+1
xx=point(px+9,py+16):if xx=5 then yy=yy+1
if yy>4 then over()
}
if py>360 then over()
if quik=1 then break
if quik=2 then quik=0:break
k=strig(1)
if k=2 then if rvs=0 then {
m_play(,,,4)
psp=5:pd=0:rvs=52:pdr=20
if stick(1)=6 then rvs=27
for i=1 to 6
pxm(i)=px:pym(i)=py
next
}
if k=1 then {
if psp=9 then pd=pd-1:if pd<0 then pd=0
psp=psp+1:if psp>9 then psp=9
pdr=pdr-ksk(psp)
if pdr<-80 then pdr=-80
}
if k=0 then if rvs=0 then {
if psp=0 then pd=pd+1:if pd>9 then pd=9
psp=psp-1:if psp<0 then psp=0
pdr=pdr+1
if psp=0 then pdr=pdr+ksk(pd)/2
if pdr>140 then pdr=140
}
k=stick(1)
if k=8 then trigger()
pdr=pdr+1
pxm(6)=pxm(5):pym(6)=pym(5)
pxm(5)=pxm(4):pym(5)=pym(4)
pxm(4)=pxm(3):pym(4)=pym(3)
pxm(3)=pxm(2):pym(3)=pym(2)
pxm(2)=pxm(1):pym(2)=pym(1)
pxm(1)=px:pym(1)=py
py=py+pdr/32
px=px+1
if rvs>0 then {
rvs=rvs-1:px=px-2:pdr=pdr+2:if px<0 then px=0
if rvs=0 then sp_off(21,23)
}
if px=512 then px=0
if charge>0 then charge=charge-1
endwhile
if quik=1 then break
next
title()
while 1
if inkey$(0)=chr$(27) then end
if strig(1)>0 then break
if stick(1)=6 then difc=1:v_disp():pen(48,24,difc$(difc))
if stick(1)=4 then difc=0:v_disp():pen(48,24,difc$(difc))
endwhile
titleout()
endwhile /*----------------------------------------------------------------
end
func hata(n)
apage(0)
if n=0 then fill(450,340,454,356,0):return()
line(450,340,450,356,11)
fill(451,340,454,342,6)
endfunc
func selec(n)
v_disp()
line(55,102,56,97,n)
line(56,97,84,97,n)
line(62,90,64,90,n):line(62,92,64,92,n):line(62,94,64,94,n):line(62,90,62,92,n):line(64,92,64,94,n)
line(66,90,66,94,n):line(66,90,68,90,n):line(66,92,68,92,n):line(66,94,68,94,n)
line(70,90,70,94,n):line(70,94,72,94,n)
line(74,90,74,94,n):line(74,90,76,90,n):line(74,92,76,92,n):line(74,94,76,94,n)
line(78,90,78,94,n):line(78,90,80,90,n):line(78,94,80,94,n)
line(82,90,84,90,n):line(83,90,83,94,n)
endfunc
func over()
int ni,nj,nn,ny,nc
m_play(3)
apage(2)
circle(px+8,py+8,9,7)
v_disp()
paint(px+8,py+8,7)
vpage(7)
pym(0)=py
pxm(0)=px
ny=511
for ni=0 to 40
if ni>6 then {
sp_move(55,px-8+ni,py-8,35)
sp_move(56,px+8+ni,py-8,36)
sp_move(57,px-8+ni,py+8,37)
sp_move(58,px+8+ni,py+8,38)
}
nj=nj+1:if nj=6 then nj=0
nn=3:if nj>1 then nn=7
pym(0)=pym(0)-ni/6:if pym(0)<-16 then pym(0)=-16
ny=ny-ni/6
v_disp()
vpage(nn)
home(2,0,ny)
if nc=7 then nc=11 else nc=7
paint(px+8,py+8,nc)
sp_move(20,pxm(0),pym(0),enter)
next
sp_off(20)
vpage(3)
/*fill(px-50,py-50,px+50,py+50,0)
sp_off(55,58)
wipe()
home(2,0,0)
apage(1)
px=40:py=100:rvs=0
if gmc>0 then {
gmc=0
for ni=0 to mc-1
if mcx(ni)>999 then mcx(ni)=mcx(ni)-999
next
}
if gmcp<mc then hata(0):apage(1)
hr=hr-1
locate 59,26:print using"##";hr
mem(enter,1)=2
if hr=0 then result():return()
sp_off(21,54)
for ni=0 to 15
if mem(ni,0)=1 then enter=ni:break
next
if rh>0 then {
for ni=0 to rh-1
sp_move(25+ni,rx(ni),ry(ni),rn(ni))
next
}
if mc>0 then {
for ni=0 to mc-1
sp_move(41+ni,mcx(ni),mcy(ni),32)
next
}
nc=0
for ni=0 to 15
if mem(ni,0)=1 then if mem(ni,1)=0 then nc=1:break
next
if nc=0 then {
apage(0)
pdout()
apage(1)
for ni=0 to 15
if mem(ni,1)=1 then mem(ni,1)=0
next
gh=0
quik=2
return()
}
entersel()
ready()
apage(0)
selec(0)
apage(1)
endfunc
func pdout() /* 拡大プレイヤー画像ワイプ
int ni,nj
for nj=0 to 15
v_disp()
for ni=0 to 1
fill(20,410+ni*2+nj*4,83,410+ni*2+nj*4,8)
next
next
for ni=0 to 1
for nj=0 to 15
v_disp()
fill(20,411+ni*2+nj*4,83,411+ni*2+nj*4,8)
next
next
endfunc
func goal()
int x,y,ni,nj
m_assign(5,8)
m_play(8)
apage(0)
symbol(461,320,"NICE",1,1,0,5,0)
symbol(460,320,"NICE",1,1,0,5,0)
mem(enter,1)=1:gh=gh+1
mem(enter,6)=gh
hr_point(enter)=hr_point(enter)+1
if gmcp=mc or gh=hr then hata(1)
if gmc>0 then hr_point(enter)=hr_point(enter)+1
for ni=0 to 3:v_disp():py=py-1:px=px+1:sp_move(20,px,py,enter):next
for ni=0 to 2:v_disp():px=px+1:sp_move(20,px,py,enter):next
for ni=0 to 3:v_disp():py=py+1:px=px+1:sp_move(20,px,py,enter):next
for ni=0 to 2
pxm(ni)=px
next
for ni=0 to 21
nj=nj+1:if nj=2 then nj=0
v_disp()
symbol(461,320,"NICE",1,1,0,nj*5,0)
symbol(460,320,"NICE",1,1,0,nj*5,0)
pxm(2)=pxm(1):pxm(1)=pxm(0):pxm(0)=px
px=px+ni/2
v_disp()
sp_move(20,px,py,enter)
sp_set(21,pxm(0)+16,py+16,512+enter,3)
sp_set(22,pxm(1)+16,py+16,768+enter,3)
sp_set(23,pxm(2)+16,py+16,1024+enter,3)
next
sp_off(21,23)
if gmc>0 then {
gmcp=gmcp+gmc
for ni=0 to mc-1
if mcx(ni)>999 then mcx(ni)=-16
next
}
if gmcp=mc then {
hr_point(enter)=hr_point(enter)+2
quik=1
pdout()
for ni=0 to 15
if mem(ni,1)=1 then mem(ni,1)=0
next
}
if gh=hr then {
pdout()
quik=1
for ni=0 to 15
if mem(ni,1)=1 then mem(ni,1)=0
next
gh=0
}
apage(0)
px=40:py=100
gmc=0
rvs=0
if quik=0 then entersel():ready()
endfunc
func ready()
int ni
info(1)
apage(1):fill(0,363,511,400,0) /* プライオリティ変更によるスプライト遮蔽を防ぐための処置
apage(0):fill(0,363,511,400,0)
v_priority("TGS")
symbol(165,181,"READY",6,1,0,7,0)
symbol(165,180,"READY",6,1,0,7,0)
hr_point(enter)=hr_point(enter)+1
for ni=0 to 18
v_disp()
px=px-1
sp_move(20,px,py,enter)
next
for ni=0 to 49:v_disp():next
fill(165,180,370,193,0)
for ni=0 to 9:v_disp():next
v_priority("STG")
fill(0,363,511,400,8)
apage(1)
fill(0,363,511,400,8)
endfunc
func trigger()
int ni
if trig>=bul(enter) then return()
if charge>0 then return()
for ni=0 to 5
if mis(ni,0)>0 then continue
m_assign(5,7)
m_play(7)
charge=cha(enter):if rvs>0 then charge=charge*2
trig=trig+1
mis(ni,0)=1
mis(ni,1)=px+14
mis(ni,2)=py+9
mis(ni,3)=13
mis(ni,4)=3
mis(ni,5)=0
mis(ni,6)=bsp(enter)
break
next
endfunc
func it(n)
endfunc
func spcv()
int ni
for ni=0 to 127
gs(ni*2)=gp(ni)/16
gs(ni*2+1)=gp(ni) mod 16
if gs(ni*2)=0 then gs(ni*2)=8
if gs(ni*2+1)=0 then gs(ni*2+1)=8
next
endfunc
func alt(n)
int ni
for ni=0 to 255
if gs(ni)>0 then gs(ni)=n
next
endfunc
func stand(n)
color 5
pen(50,25,"AREA ")
locate 59,25:print using"##";sta
pen(50,26,"HEROES ")
locate 59,26:print using"##";hr
apage(0)
hata(0)
apage(1)
mc=0:gmc=0:gmcp=0:gh=0:don=0
resque=240
fir=0
switch n
case 1:mc=3 /*回収すべきラーメンの数
mcx(0)=260:mcy(0)=120 /*各ラーメン鉢の位置
mcx(1)=360:mcy(1)=150 /*
mcx(2)=400:mcy(2)=280 /*
rh=0 /*ステージ内で回収できるヒーローの数
sho=1 /*店の有無
shox=470:shoy=30 /*店の位置
fill(21,31,490,359,0)
fill(290,340,330,359,7)
fill(200,340,240,359,7)
line(21,300,170,340,7)
line(170,340,200,359,7)
paint(100,358,7)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
break
case 2:mc=1
mcx(0)=40:mcy(0)=50
rh=1
rx(0)=242:ry(0)=162
rn(0)=5
sho=0
fill(21,31,490,359,0)
circle(250,170,45,5,150,260,309)
circle(250,171,45,5,150,260,309)
circle(251,170,45,5,150,260,309)
circle(250,170,45,5,300,115,309)
circle(250,171,45,5,300,115,309)
circle(251,170,45,5,300,115,309)
fill(300,100,350,105,7)
fill(300,255,350,260,7)
line(300,359,320,280,7)
line(350,359,330,280,7)
line(320,280,330,280,7)
paint(325,350,7)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
break
case 3:mc=4
mcx(0)=337:mcy(0)=150
mcx(1)=337:mcy(1)=190
mcx(2)=337:mcy(2)=230
mcx(3)=337:mcy(3)=270
rh=0
fill(21,31,490,359,0)
fill(270,62,290,335,7)
fill(270,165,290,210,0)
fill(270,230,290,275,0)
fill(272,166,274,209,5)
/*fill(272,231,274,274,5)
line(235,215,270,211,7)
line(235,225,270,229,7)
line(235,215,235,225,7)
paint(245,220,7)
fill(330,80,332,180,5)
fill(330,250,332,320,5)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
break
case 4:mc=2
mcx(0)=124:mcy(0)=303
mcx(1)=60:mcy(1)=331
rh=2
rx(0)=232:ry(0)=340:rn(0)=12
rx(1)=282:ry(1)=94:rn(1)=1
sho=0
fill(21,31,490,359,0)
fill(458,358,483,359,15)
line(120,320,100,359,7)
line(120,320,140,320,7)
line(140,320,160,359,7)
paint(130,330,7)
fill(210,110,330,121,7)
fill(330,110,380,144,7)
line(210,121,330,144,7)
paint(320,125,7)
circle(379,31,79,7,270,360,330)
circle(380,31,79,7,270,360,330)
circle(380,32,79,7,270,360,330)
circle(379,33,79,7,270,1,330)
circle(380,33,79,7,270,1,330)
circle(381,33,79,7,270,1,330)
circle(240,359,65,5,0,180,300)
circle(240,358,65,5,0,180,300)
circle(241,359,65,5,0,180,300)
fill(330,330,370,359,7)
fill(450,357,451,359,7)
break
case 5:/*
fill(21,31,490,359,0)
fill(458,358,483,359,15)
mc=4
mcx(0)=475:mcy(0)=50
mcx(1)=275:mcy(1)=279
mcx(2)=290:mcy(2)=279
mcx(3)=358:mcy(3)=215
rh=1
rx(0)=263:ry(0)=35:rn(0)=3
sho=0
fill(100,270,483,276,7)
fill(300,31,303,84,7)
fill(200,31,203,84,7)
line(150,31,200,84,7)
line(353,31,303,84,7)
paint(199,32,7)
paint(304,32,7)
line(200,270,215,255,7)
line(215,255,290,255,7)
line(290,255,305,270,7)
paint(220,260,7)
fill(140,130,150,140,5)
fill(190,130,200,140,5)
fill(240,130,250,140,5)
fill(290,130,300,140,5)
fill(340,130,350,140,5)
line(350,269,355,239,7)
line(355,239,375,239,7)
line(375,239,380,269,7)
paint(360,240,7)
fill(355,209,375,238,5)
fill(357,211,373,236,0)
fill(450,357,451,359,7)
break
case 6:mc=3
rh=1
rx(0)=230:ry(0)=203
rn(0)=10
fill(21,31,490,359,0)
fill(458,358,483,359,15)
circle(230,180,130,7,340,215,336)
circle(231,180,130,7,340,215,336)
circle(230,181,130,7,340,215,336)
circle(231,181,130,7,340,215,336)
circle(230,180,130,5,0,45,336)
circle(231,180,130,5,0,45,336)
circle(230,181,130,5,0,45,336)
circle(231,181,130,5,0,45,336)
fill(350,300,430,305,5)
mcx(0)=360:mcy(0)=282
mcx(1)=390:mcy(1)=282
mcx(2)=140:mcy(2)=140
fill(230,220,323,222,7)
line(230,220,182,294,7)
fill(182,294,310,359,7)
line(21,330,182,294,7)
line(323,222,350,249,7)
line(350,250,350,305,7)
line(350,305,310,329,7)
line(310,329,310,359,7)
fill(450,357,451,359,7)
paint(130,335,7)
paint(230,250,7)
break
case 7:/*
mc=0:rh=0
fill(21,31,490,359,0)
fill(458,358,483,359,15)
mon=1
mox(0)=510:moy(0)=20
mod(0)=37:mos(0)=1
fill(310,349,360,359,7)
fill(85,337,120,359,7)
line(200,302,200,359,7)
line(200,302,217,359,7)
paint(205,357,7)
fill(240,320,247,359,7)
line(250,359,260,350,7)
line(260,350,270,359,7)
paint(260,357,7)
circle(250,31,70,7,180,360,300)
paint(250,50,7)
fill(450,357,451,359,7)
break
case 8:/*
mc=6:rh=1
mcx(0)=462:mcy(0)=184
mcx(1)=232:mcy(1)=57
mcx(2)=232:mcy(2)=135
mcx(3)=232:mcy(3)=96
mcx(4)=232:mcy(4)=174
mcx(5)=232:mcy(5)=213
rx(0)=254:ry(0)=239:rn(0)=0
fill(21,31,490,359,0)
fill(458,358,483,359,15)
line(21,180,121,180,7)
line(121,180,420,359,7)
fill(460,200,490,201,7)
paint(30,350,7)
fill(21,180,80,190,0)
fill(220,230,250,359,7)
fill(200,31,270,38,7)
fill(220,39,250,54,7)
line(270,38,420,128,7)
line(420,128,490,128,7)
paint(480,40,7)
fill(450,357,451,359,7)
break
case 9:/*
mc=1
rh=2
rx(0)=147:ry(0)=314:rn(0)=4
rx(1)=265:ry(1)=328:rn(1)=6
mcx(0)=371:mcy(0)=178
fill(21,31,490,359,0)
fill(458,358,483,359,15)
line(446,359,381,322,7)
line(381,322,377,336,7)
line(377,336,379,359,7)
paint(381,330,7)
line(490,240,330,225,7)
line(330,225,320,215,7)
line(320,215,325,207,7)
line(325,207,370,200,7)
line(370,200,373,196,7)
line(373,196,440,190,7)
line(440,190,490,190,7)
paint(325,215,7)
line(357,229,362,242,7)
line(362,242,367,230,7)
paint(362,235,7)
line(367,230,372,243,7)
line(372,243,377,230,7)
paint(372,235,7)
line(377,231,382,244,7)
line(382,244,387,231,7)
paint(382,235,7)
line(337,227,339,260,5)
line(339,260,351,228,5)
paint(342,250,5)
fill(335,251,344,260,0)
line(381,322,397,282,5)
line(397,282,400,332,5)
paint(397,295,5)
fill(392,282,402,291,0)
line(390,231,400,270,7)
line(400,270,407,266,7)
line(407,266,411,233,7)
paint(406,250,7)
line(440,190,450,150,7)
line(450,150,490,148,7)
paint(450,160,7)
fill(455,186,480,189,0)
fill(450,357,451,359,7)
line(91,327,245,340,7)
line(21,327,91,327,7)
line(245,340,285,350,7)
line(285,350,290,359,7)
paint(245,350,7)
line(240,345,242,276,7)
line(242,276,245,272,7)
line(245,272,248,276,7)
line(248,276,250,345,7)
paint(245,300,7)
fill(239,278,251,284,7)
fill(29,324,32,326,7)
fill(45,320,48,326,7)
fill(52,322,64,326,7)
fill(78,323,83,326,7)
line(460,230,490,250,7)
paint(485,242,7)
break
case 10:/*
mc=9:rh=0
mcx(0)=227:mcy(0)=262:mcx(1)=268:mcy(1)=232:mcx(2)=291:mcy(2)=216
mcx(3)=255:mcy(3)=137:mcx(4)=204:mcy(4)=126:mcx(5)=175:mcy(5)=163
mcx(6)=170:mcy(6)=197:mcx(7)=181:mcy(7)=238:mcx(8)=171:mcy(8)=300
fill(21,31,490,359,0)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
circle(230,200,60,7,0,360,338)
paint(230,200,7)
break
case 11:/*
mc=7:rh=0
mcx(0)=442:mcy(0)=45:mcx(1)=468:mcy(1)=147:mcx(2)=283:mcy(2)=153
mcx(3)=350:mcy(3)=277:mcx(4)=334:mcy(4)=205:mcx(5)=162:mcy(5)=342
mcx(6)=166:mcy(6)=171
fill(21,31,490,359,0)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
line(167,92,171,118,7)
line(171,118,215,94,7)
line(215,94,232,31,7)
line(167,92,184,83,7)
line(184,83,183,60,7)
line(183,60,135,31,7)
line(229,131,242,105,7)
line(242,105,260,98,7)
line(260,98,260,106,7)
line(260,106,294,97,7)
line(294,97,294,91,7)
line(294,91,306,71,7)
line(306,71,320,117,7)
line(320,117,355,146,7)
line(355,146,344,192,7)
line(344,192,328,203,7)
line(328,203,327,228,7)
line(327,228,266,228,7)
line(266,228,264,202,7)
line(264,202,296,188,7)
line(296,188,302,160,7)
line(302,160,288,135,7)
line(288,135,254,139,7)
line(254,139,236,142,7)
line(236,142,229,131,7)
paint(310,203,7)
paint(208,88,7)
line(175,199,193,195,7)
line(193,195,204,222,7)
line(204,222,190,241,7)
line(190,241,165,220,7)
line(165,220,175,199,7)
fill(120,173,125,180,5)
fill(135,239,140,247,5)
fill(110,299,115,307,5)
fill(68,347,73,355,5)
paint(188,224,7)
line(170,360,199,338,7)
line(199,338,305,325,7)
line(305,325,316,359,7)
line(354,30,365,67,7)
line(365,67,386,78,7)
line(386,78,400,50,7)
line(400,50,412,70,7)
line(412,70,417,54,7)
line(417,54,426,61,7)
line(426,61,434,31,7)
line(491,177,467,174,7)
line(467,174,442,163,7)
line(442,163,415,141,7)
line(415,141,405,184,7)
line(405,184,414,193,7)
line(414,193,426,156,7)
line(426,156,439,167,7)
line(458,178,485,185,7)
line(485,185,491,218,7)
line(439,167,439,175,7)
line(439,175,455,184,7)
line(455,184,458,178,7)
paint(443,169,7)
paint(404,42,7)
paint(277,336,7)
line(440,180,453,188,5)
line(453,188,441,222,5)
line(441,222,434,232,5)
line(434,232,435,220,5)
line(435,220,439,181,5)
paint(443,199,5)
fill(336,296,373,306,7)
fill(368,285,406,295,5)
fill(330,46,335,54,5)
fill(291,288,296,296,5)
fill(427,270,418,354,7)
fill(418,237,427,267,5)
break
case 12:/*
mc=4:rh=1
mcx(0)=187:mcy(0)=224:mcx(1)=46:mcy(1)=317
mcx(2)=315:mcy(2)=39:mcx(3)=363:mcy(3)=57
rx(0)=455:ry(0)=143:rn(0)=14
fill(21,31,490,359,0)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
box(20,30,491,360,7)
line(110,30,106,71,7)
line(106,71,150,82,7)
line(150,82,179,30,7)
line(94,121,70,144,7)
line(70,144,32,150,7)
line(32,150,20,142,7)
line(94,121,99,128,7)
line(99,128,75,163,7)
line(75,163,83,226,7)
line(83,226,33,270,7)
line(33,270,44,341,7)
line(44,341,69,343,7)
line(69,343,69,359,7)
paint(34,346,7)
paint(143,71,7)
line(137,207,160,198,7)
line(160,198,160,258,7)
line(160,258,219,260,7)
line(219,260,219,203,7)
line(219,203,242,210,7)
line(242,210,249,243,7)
line(249,243,238,293,7)
line(238,293,144,291,7)
line(144,291,134,237,7)
line(134,237,137,208,7)
circle(99,295,6,7,0,360,333)
paint(99,293,7)
paint(161,274,7)
circle(239,30,55,7,180,270,330)
line(239,85,249,30,7)
paint(235,64,7)
line(313,31,378,55,7)
line(378,55,376,86,7)
line(376,86,390,94,7)
line(390,94,404,68,7)
line(404,68,414,39,7)
line(414,39,414,30,7)
line(296,128,307,107,7)
line(307,107,321,114,7)
line(321,114,320,140,7)
line(320,140,296,129,7)
line(326,205,331,185,7)
line(331,185,348,185,7)
line(348,185,353,207,7)
line(353,207,326,206,7)
paint(342,199,7)
paint(317,124,7)
paint(397,52,7)
line(298,132,316,142,5)
line(316,142,305,153,5)
line(305,153,301,152,5)
line(301,152,298,133,5)
line(305,154,292,218,5)
line(292,218,288,217,5)
line(288,217,301,153,5)
line(328,210,351,210,5)
line(351,210,343,224,5)
line(343,224,335,224,5)
line(335,224,328,211,5)
line(337,225,337,300,5)
line(337,300,342,300,5)
line(342,300,342,225,5)
paint(341,269,5)
paint(341,217,5)
paint(303,140,5)
paint(300,169,5)
fill(185,195,196,209,5)
circle(263,67,8,5,0,360,330)
line(236,100,250,108,5)
line(250,108,266,112,5)
line(266,112,278,106,5)
line(278,106,280,111,5)
line(280,111,266,118,5)
line(266,118,250,114,5)
line(250,114,235,105,5)
line(235,105,236,101,5)
paint(276,110,5)
paint(263,65,5)
fill(173,124,176,156,5)
fill(172,321,175,329,5)
line(274,289,277,291,5)
line(277,291,266,350,5)
line(266,350,262,349,5)
line(262,349,273,290,5)
fill(337,352,342,359,5)
paint(267,334,5)
line(348,302,355,308,7)
line(355,308,371,271,7)
line(371,271,364,265,7)
line(364,265,348,302,7)
line(369,254,376,259,7)
line(376,259,384,248,7)
line(384,248,383,227,7)
line(383,227,370,227,7)
line(370,227,367,241,7)
line(367,241,369,254,7)
line(387,222,388,255,7)
line(388,255,398,261,7)
line(398,261,400,198,7)
line(400,198,392,206,7)
box(378,193,391,221,7)
line(404,199,409,261,7)
line(409,261,421,257,7)
line(421,257,423,220,7)
line(423,220,419,203,7)
line(419,203,404,199,7)
line(427,228,437,225,7)
line(437,225,444,233,7)
line(444,233,433,252,7)
line(433,252,426,238,7)
line(426,238,427,228,7)
line(440,218,446,222,7)
line(446,222,457,182,7)
line(457,182,449,178,7)
line(449,178,439,218,7)
fill(392,264,398,282,7)
fill(410,264,416,286,7)
circle(404,273,7,7)
paint(406,275,7)
paint(392,233,7)
paint(420,233,7)
paint(430,233,7)
paint(445,213,7)
paint(373,244,7)
paint(367,272,7)
line(390,288,397,290,7)
line(397,290,397,300,7)
line(397,300,380,310,7)
line(380,310,390,288,7)
line(413,290,419,290,7)
line(419,290,419,281,7)
line(419,281,431,287,7)
line(431,287,433,298,7)
line(433,298,411,298,7)
line(411,298,413,291,7)
paint(389,299,7)
paint(424,291,7)
line(408,201,408,194,7)
line(408,194,421,194,7)
line(421,194,421,216,7)
fill(411,188,419,197,7)
line(449,166,462,173,5)
line(462,173,476,163,5)
line(476,163,470,137,5)
line(470,137,456,131,5)
line(456,131,445,144,5)
line(445,144,449,165,5)
circle(461,152,9,5,0,360,329)
line(447,151,443,157,5)
line(443,157,448,160,5)
line(461,133,465,127,5)
line(465,127,467,135,5)
line(467,171,471,175,5)
line(471,175,472,167,5)
paint(464,164,5)
paint(446,157,5)
paint(465,132,5)
paint(470,171,5)
line(21,60,30,42,7)
line(30,42,25,37,7)
line(25,37,21,40,7)
paint(25,46,7)
fill(314,312,433,315,5)
break
case 17:/*
mc=3:rh=1
rx(0)=356:ry(0)=158:rn(0)=rvrh():if rn(0)=99 then rh=0
mcx(0)=270:mcy(0)=128:mcx(1)=252:mcy(1)=342:mcx(2)=284:mcy(2)=342
fill(21,31,490,359,0)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
box(20,30,491,360,7)
fill(152,31,390,197,7)
fill(152,226,165,360,7)
fill(377,226,390,359,7)
fill(331,120,373,181,0)
fill(283,181,308,199,0)
fill(229,81,323,187,0)
fill(324,125,330,175,5)
fill(288,190,307,196,5)
fill(361,126,368,130,7)
fill(363,123,366,125,7)
line(365,123,365,120,7)
fill(353,175,373,181,7)
fill(372,140,373,147,7) /*
line(345,64,359,68,8)
line(359,68,364,64,8)
line(364,64,366,52,8)
line(366,52,355,43,8)
line(355,43,344,48,8)
line(344,48,341,53,8)
line(341,53,334,49,8)
line(334,49,329,40,8)
line(329,40,327,31,8)
line(327,31,322,31,8)
line(322,31,326,45,8)
line(326,45,330,52,8)
line(330,52,339,58,8)
line(339,58,341,63,8)
line(341,63,344,63,8)
paint(352,54,8)
circle(353,59,3,7)
paint(353,59,7)
circle(357,66,3,7)
circle(345,61,3,7)
paint(345,61,7)
paint(357,66,7)
line(323,359,326,342,7)
line(326,342,334,339,7)
line(334,339,341,345,7)
line(341,345,342,352,7)
line(342,352,345,352,7)
line(345,352,346,355,7)
line(346,355,349,359,7)
line(353,359,355,354,7)
line(355,354,358,331,7)
line(358,331,361,331,7)
line(361,331,363,322,7)
line(363,322,369,323,7)
line(369,323,376,319,7)
paint(334,349,7)
paint(372,349,7)
line(111,359,114,353,7)
line(114,353,120,351,7)
line(120,351,125,360,7)
paint(116,356,7)
line(207,359,210,348,7)
line(210,348,220,337,7)
line(220,337,228,339,7)
line(228,339,230,346,7)
line(230,347,232,344,7)
line(232,344,235,353,7)
line(235,353,235,359,7)
paint(226,348,7)
line(21,293,56,316,7)
line(56,316,71,345,7)
line(71,345,100,350,7)
line(100,350,102,360,7)
paint(41,335,7)
line(390,289,396,297,7)
line(396,297,401,322,7)
line(401,322,403,326,7)
line(403,326,404,335,7)
line(404,335,407,335,7)
line(407,335,411,339,7)
line(411,339,414,360,7)
paint(399,348,7)
break
case 18:/*
mc=8:rh=0
mcx(0)=43:mcy(0)=339:mcx(1)=78:mcy(1)=332:mcx(2)=474:mcy(2)=146
mcx(3)=327:mcy(3)=162:mcx(4)=341:mcy(4)=185:mcx(5)=96:mcy(5)=209
mcx(6)=446:mcy(6)=34:mcx(7)=469:mcy(7)=323
fill(21,31,490,359,0)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
box(20,30,491,360,7)
line(345,83,21,296,7)
line(214,256,490,74,7)
line(214,257,216,265,7)
line(216,265,491,84,7)
line(345,83,343,74,7)
line(343,74,20,286,7)
line(491,162,456,184,7)
line(456,184,491,317,7)
paint(473,223,7)
paint(368,161,7)
paint(222,161,7)
fill(61,348,108,360,7)
fill(118,339,133,359,7)
fill(144,350,170,359,7)
fill(179,351,186,359,7)
fill(192,347,203,359,7)
fill(216,340,245,360,7)
fill(249,353,282,359,7)
fill(267,342,275,353,7)
fill(281,344,292,359,7)
fill(300,335,309,360,7)
fill(315,346,338,359,7)
fill(95,324,98,348,7)
fill(347,354,352,360,7)
fill(20,353,27,360,7)
fill(31,356,40,360,7)
break
case 21:/*
mc=7:rh=0
mcx(0)=143:mcy(0)=254:mcx(1)=390:mcy(1)=186:mcx(2)=448:mcy(2)=121
mcx(3)=400:mcy(3)=49:mcx(4)=191:mcy(4)=98:mcx(5)=48:mcy(5)=315
mcx(6)=340:mcy(6)=323
fill(21,31,490,359,0)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
box(20,30,491,360,7)
line(33,260,37,253,7)
line(37,253,49,246,7)
line(49,246,68,254,7)
line(68,254,68,297,7)
line(68,297,41,310,7)
line(41,310,27,300,7)
line(27,300,27,274,7)
line(27,274,33,261,7)
line(123,246,131,251,7)
line(131,251,148,246,7)
line(148,246,161,231,7)
line(161,231,164,201,7)
line(164,201,154,187,7)
line(154,187,134,183,7)
line(134,183,119,199,7)
line(119,199,115,218,7)
line(115,218,123,246,7)
line(263,101,267,94,7)
line(267,94,275,92,7)
line(275,92,281,94,7)
line(281,94,282,99,7)
line(282,99,290,115,7)
line(290,115,289,120,7)
line(289,120,289,126,7)
line(289,126,286,136,7)
line(286,136,276,145,7)
line(276,145,271,145,7)
line(271,145,267,147,7)
line(267,147,260,155,7)
line(260,155,253,156,7)
line(253,156,247,142,7)
line(247,142,249,129,7)
line(249,129,262,116,7)
line(262,116,262,111,7)
line(262,111,263,105,7)
line(263,105,262,102,7)
line(241,217,247,212,7)
line(247,212,258,215,7)
line(258,215,259,224,7)
line(259,224,265,227,7)
line(265,227,267,237,7)
line(267,237,274,242,7)
line(274,242,278,249,7)
line(278,249,263,264,7)
line(263,264,257,262,7)
line(257,262,248,254,7)
line(248,254,237,238,7)
line(237,238,240,234,7)
line(240,234,238,227,7)
line(238,227,241,218,7)
line(301,241,305,231,7)
line(305,231,312,232,7)
line(312,232,321,241,7)
line(321,241,319,248,7)
line(319,248,305,250,7)
line(305,250,304,244,7)
line(304,244,301,242,7)
line(345,205,337,225,7)
line(337,225,345,235,7)
line(345,235,366,235,7)
line(366,235,373,228,7)
line(373,228,374,217,7)
line(374,217,391,217,7)
line(391,217,387,199,7)
line(387,199,355,199,7)
line(355,199,350,195,7)
line(350,195,338,193,7)
line(338,193,323,204,7)
line(323,204,345,205,7)
line(385,218,381,232,7)
line(381,232,370,232,7)
line(325,205,327,212,7)
line(327,212,340,215,7)
fill(355,190,370,195,7)
fill(373,190,388,195,7)
paint(353,209,7)
paint(312,238,7)
paint(257,238,7)
paint(257,143,7)
paint(135,217,7)
paint(51,279,7)
box(355,205,378,209,8)
box(347,219,351,226,8)
line(355,216,355,232,8)
line(355,232,364,232,8)
line(364,232,369,224,8)
line(369,224,369,217,8)
line(369,217,355,216,8)
line(338,198,342,198,8)
line(338,203,342,203,8)
line(206,359,212,344,7)
line(213,344,226,336,7)
line(226,336,247,342,7)
line(247,342,254,360,7)
line(293,360,302,313,7)
line(302,313,315,304,7)
line(315,304,322,313,7)
line(322,313,334,321,7)
line(334,321,338,334,7)
line(338,334,346,346,7)
line(346,346,355,341,7)
line(355,341,362,347,7)
line(362,347,380,345,7)
line(380,345,387,349,7)
line(387,349,404,359,7)
line(374,187,387,187,5)
line(387,187,384,177,5)
line(384,177,377,177,5)
line(377,177,374,187,5)
line(409,154,422,154,5)
line(422,154,419,144,5)
line(419,144,412,144,5)
line(412,144,410,155,5)
fill(413,158,414,162,5)
fill(417,157,418,162,5)
line(432,170,445,170,5)
line(445,170,442,160,5)
line(442,160,435,160,5)
line(435,160,432,170,5)
line(432,125,445,125,5)
line(445,125,442,115,5)
line(442,115,435,115,5)
line(435,115,432,125,5)
fill(436,128,437,133,5)
fill(440,128,441,135,5)
fill(434,173,435,176,5)
fill(442,173,443,179,5)
line(403,202,416,202,5)
line(416,202,413,192,5)
line(413,192,405,192,5)
line(405,192,403,202,5)
line(422,210,429,210,5)
line(429,210,432,220,5)
line(432,220,420,220,5)
line(420,220,422,211,5)
line(453,210,466,210,5)
line(466,210,463,200,5)
line(463,200,455,200,5)
line(455,200,453,210,5)
fill(457,213,458,215,5)
fill(461,213,462,215,5)
fill(424,223,425,231,5)
fill(407,205,408,207,5)
fill(411,205,412,208,5)
fill(428,227,429,236,5)
line(419,185,420,192,7)
line(420,192,422,197,7)
line(422,197,431,201,7)
line(431,201,436,198,7)
line(436,198,437,186,7)
line(437,186,432,180,7)
line(432,180,422,178,7)
line(422,178,419,185,7)
line(453,142,455,166,7)
line(455,166,463,170,7)
line(463,170,485,172,7)
line(485,172,491,168,7)
line(491,128,468,125,7)
line(468,125,465,132,7)
line(465,132,460,138,7)
line(460,138,453,141,7)
paint(477,141,7)
paint(315,327,7)
paint(233,348,7)
paint(422,186,7)
paint(379,183,5)
paint(416,151,5)
paint(440,121,5)
paint(440,165,5)
paint(460,203,5)
paint(427,216,5)
paint(407,199,5)
line(326,307,336,314,5)
line(336,314,338,304,5)
line(338,304,331,300,5)
line(331,300,326,307,5)
line(362,340,375,340,5)
line(375,340,372,330,5)
line(372,330,365,330,5)
line(365,330,362,340,5)
line(298,329,295,345,5)
line(295,345,288,340,5)
line(288,340,290,329,5)
line(290,329,298,326,5)
fill(365,342,366,345,5)
fill(370,342,371,344,5)
line(327,310,328,311,5)
line(328,311,327,315,5)
line(327,315,325,314,5)
line(325,314,326,311,5):line(326,314,327,311,5)
fill(333,315,334,318,5)
paint(332,307,5)
paint(371,333,5)
paint(294,337,5)
fill(348,238,362,243,7)
line(285,30,299,70,7)
line(299,70,317,70,7)
line(317,70,321,63,7)
line(321,63,325,50,7)
line(325,50,323,37,7)
line(323,37,301,37,7)
line(301,37,299,30,7)
circle(310,54,6,7)
line(358,101,346,112,7)
line(346,112,350,129,7)
line(350,129,361,141,7)
line(361,141,385,124,7)
line(385,124,384,102,7)
line(384,102,375,75,7)
line(375,75,357,83,7)
line(357,83,359,101,7)
line(397,69,393,80,7)
line(393,80,402,103,7)
line(402,103,420,103,7)
line(420,103,441,31,7)
line(441,31,428,31,7)
line(428,31,417,68,7)
line(417,68,398,68,7)
circle(409,85,6,7)
paint(366,111,7)
line(115,70,116,58,5)
line(116,58,123,58,5)
line(123,58,124,70,5)
line(124,70,115,70,5)
fill(126,55,133,59,5)
fill(107,55,113,59,5)
fill(118,73,121,76,5)
paint(120,63,5)
paint(409,85,7)
circle(409,85,10,7)
circle(310,54,10,7)
paint(310,56,7)
paint(298,41,7)
paint(436,41,7)
box(410,82,413,88,8)
fill(80,149,85,157,5)
fill(87,96,93,106,5)
fill(64,53,68,62,5)
fill(80,35,85,45,5)
line(146,312,150,305,7)
line(150,305,153,310,7)
line(153,310,153,315,7)
line(153,315,148,316,7)
line(148,316,146,313,7)
line(233,161,234,162,7)
line(234,162,229,166,7)
line(229,166,227,161,7)
line(227,161,229,156,7)
line(229,156,233,161,7)
line(182,72,185,69,7)
line(185,69,190,71,7)
line(190,71,191,77,7)
line(191,77,187,80,7)
line(187,80,183,85,7)
line(183,85,178,87,7)
line(178,87,174,79,7)
line(174,79,175,74,7)
line(175,74,178,72,7)
line(178,72,181,73,7)
line(137,260,139,258,7)
line(139,258,141,263,7)
line(141,263,137,268,7)
line(137,268,133,261,7)
line(133,261,136,260,7)
line(214,236,217,233,7)
line(217,233,217,240,7)
line(217,240,214,237,7)
line(183,190,183,186,7)
line(183,186,186,184,7)
line(186,184,194,184,7)
line(194,184,196,188,7)
line(196,188,194,193,7)
line(194,193,185,195,7)
line(185,195,183,191,7)
line(115,268,117,276,7)
line(117,276,120,274,7)
line(120,274,121,269,7)
line(121,269,115,268,7)
line(144,157,146,159,7)
line(146,159,151,158,7)
line(151,158,152,150,7)
line(152,150,147,149,7)
line(147,149,145,152,7)
line(145,152,143,157,7)
line(92,146,94,141,7)
line(94,141,97,144,7)
line(97,144,100,157,7)
line(100,157,95,155,7)
line(95,155,91,147,7)
line(156,316,159,314,7)
line(159,314,161,319,7)
line(161,319,158,325,7)
line(158,325,154,321,7)
line(154,321,156,317,7)
paint(230,161,7)
paint(215,237,7)
paint(189,190,7)
paint(176,77,7)
paint(149,155,7)
paint(95,150,7)
paint(118,272,7)
paint(136,263,7)
paint(149,311,7)
paint(157,319,7)
line(183,296,186,296,7)
line(186,296,186,300,7)
line(186,300,180,302,7)
line(180,302,182,296,7)
line(274,286,279,283,7)
line(279,283,277,296,7)
line(277,296,273,286,7)
line(380,260,383,258,7)
line(383,258,388,260,7)
line(388,260,389,264,7)
line(389,264,387,268,7)
line(387,268,382,271,7)
line(382,271,379,264,7)
line(379,264,379,261,7)
line(407,296,415,295,7)
line(415,295,415,301,7)
line(415,301,409,306,7)
line(409,306,407,297,7)
paint(409,300,7)
paint(384,263,7)
paint(276,289,7)
paint(183,299,7)
break
case 20:/*
mc=4:rh=1
rx(0)=469:ry(0)=152:rn(0)=rvrh():if rn(0)=99 then rh=0
mcx(0)=376:mcy(0)=77:mcx(1)=318:mcy(1)=220:mcx(2)=251:mcy(2)=292
mcx(3)=93:mcy(3)=312
fill(21,31,490,359,0)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
box(20,30,491,360,7)
fill(110,195,120,326,7)
fill(193,30,203,285,7)
fill(193,327,203,360,7)
/*fill(121,268,143,283,7)
fill(174,283,195,268,7)
fill(233,268,276,283,7)
fill(266,283,276,329,7)
fill(319,296,329,318,7)
fill(346,318,356,359,7)
fill(319,280,386,295,7)
fill(375,296,386,301,7)
/*fill(264,247,294,232,7)
fill(334,213,344,279,7)
fill(316,198,344,213,7)
fill(203,214,221,229,7)
fill(241,171,295,186,7)
fill(285,187,295,195,7)
fill(241,164,251,170,7)
fill(241,133,251,118,7)
/*fill(241,72,278,87,7)
fill(204,72,208,87,7)
fill(304,333,314,348,7)
fill(333,62,343,178,7)
fill(333,109,343,134,5)
fill(343,93,407,108,7)
fill(397,73,407,94,7)
fill(438,66,448,92,7)
fill(448,77,490,92,7)
fill(389,176,490,191,7)
fill(413,227,423,327,7)
box(467,147,487,175,5):box(468,147,488,175,5)
box(469,148,486,174,5)
box(470,149,485,174,5)
fill(413,253,423,263,8)
fill(432,252,442,264,5)
fill(451,252,461,264,5)
break
case 16:/*
mc=4:rh=0
mcx(0)=182:mcy(0)=216:mcx(1)=91:mcy(1)=214:mcx(2)=404:mcy(2)=110
mcx(3)=409:mcy(3)=338
fill(21,31,490,359,0)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
box(20,30,491,360,7)
line(20,203,34,191,7)
line(34,191,47,198,7)
line(47,198,60,240,7)
line(60,240,72,227,7)
line(72,227,83,233,7)
line(83,233,95,250,7)
line(95,250,118,200,7)
line(118,200,128,209,7)
line(128,209,133,235,7)
line(133,235,146,221,7)
line(146,221,155,215,7)
line(155,215,165,207,7)
line(165,207,173,218,7)
line(173,218,178,228,7)
line(178,228,184,236,7)
line(184,236,196,234,7)
line(196,234,196,242,7)
line(196,242,206,248,7)
line(206,248,227,223,7)
line(227,223,237,226,7)
line(237,226,248,192,7)
line(248,192,262,201,7)
line(262,201,267,214,7)
line(267,214,287,235,7)
line(287,235,293,255,7)
line(293,255,311,249,7)
line(311,249,320,253,7)
line(320,253,335,232,7)
line(335,232,346,232,7)
line(346,232,352,246,7)
line(352,246,361,271,7)
line(361,271,372,266,7)
line(372,266,391,273,7)
line(391,273,401,317,7)
line(401,317,405,358,7)
line(405,358,410,360,7)
line(20,56,55,74,7)
line(55,74,84,64,7)
line(84,64,94,48,7)
line(94,48,107,40,7)
line(107,40,121,52,7)
line(121,52,141,126,7)
line(141,126,150,112,7)
line(150,112,161,47,7)
line(161,47,180,59,7)
line(180,59,199,48,7)
line(199,48,207,34,7)
line(207,34,221,41,7)
line(221,41,252,55,7)
line(252,55,257,70,7)
line(257,70,268,64,7)
line(268,64,274,55,7)
line(274,55,308,52,7)
line(308,52,348,63,7)
line(348,63,359,93,7)
line(359,93,373,108,7)
line(373,108,385,100,7)
line(385,100,390,108,7)
line(390,108,402,101,7)
line(402,101,421,110,7)
line(421,110,438,121,7)
line(438,121,447,140,7)
line(447,140,442,165,7)
line(442,165,449,181,7)
line(449,181,459,217,7)
line(459,217,480,240,7)
line(480,240,490,240,7)
paint(467,159,7)
paint(337,291,7)
break
case 19:/*
mc=1:rh=1:rx(0)=204:ry(0)=341:rn(0)=rvrh():if rn(0)=99 then rh=0
mcx(0)=152:mcy(0)=207
fill(21,31,490,359,0)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
box(20,30,491,360,7)
fill(131,172,181,202,7)
fill(164,281,252,333,7)
fill(109,100,127,113,7)
fill(101,71,106,75,7)
circle(356,13,105,7,180,360,346)
fill(271,10,434,29,8)
paint(351,75,7)
break
case 15:/*
mc=2:rh=1
rx(0)=72:ry(0)=339:rn(0)=11
mcx(0)=339:mcy(0)=271:mcx(1)=447:mcy(1)=88
fill(21,31,490,359,0)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
box(20,30,491,360,7)
line(152,359,61,317,7)
line(61,317,100,228,7)
line(100,228,186,211,7)
line(186,211,216,217,7)
line(216,217,287,256,7)
line(287,256,308,249,7)
line(308,249,329,268,7)
line(329,268,336,287,7)
line(336,287,381,333,7)
line(381,333,393,360,7)
circle(177,307,17,7,0,360,337)
line(65,320,69,331,7)
line(69,331,79,327,7)
line(79,327,84,329,7)
line(84,329,86,343,7)
line(86,343,98,334,7)
line(98,334,98,347,7)
line(98,347,107,338,7)
paint(164,244,7)
circle(176,306,9,7,0,360,334)
line(165,30,171,58,7)
line(171,58,189,71,7)
line(189,71,206,47,7)
line(206,47,226,62,7)
line(226,62,234,31,7)
line(385,31,389,52,7)
line(389,52,401,67,7)
line(401,67,404,42,7)
line(404,42,405,52,7)
line(405,52,417,45,7)
line(417,45,425,35,7)
line(425,35,428,43,7)
line(428,43,432,65,7)
line(432,65,432,51,7)
line(432,51,436,45,7)
line(436,45,438,74,7)
line(438,74,444,35,7)
line(444,35,453,54,7)
line(453,54,459,45,7)
line(459,45,468,47,7)
line(468,47,473,37,7)
line(473,37,477,52,7)
line(477,52,483,42,7)
line(483,42,491,37,7)
paint(399,39,7)
paint(217,39,7)
break
case 14:/*
mc=6:rh=1
rx(0)=338:ry(0)=202:rn(0)=15
mcx(0)=354:mcy(0)=36:mcx(1)=433:mcy(1)=42:mcx(2)=407:mcy(2)=66
mcx(3)=370:mcy(3)=66:mcx(4)=196:mcy(4)=321:mcx(5)=27:mcy(5)=273
fill(21,31,490,359,0)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
box(20,30,491,360,7)
line(118,262,121,296,7)
line(121,296,149,306,7)
line(149,306,253,311,7)
line(253,311,268,281,7)
line(268,281,268,263,7)
line(268,263,263,263,7)
line(263,263,263,215,7)
line(263,215,268,215,7)
line(268,215,263,189,7)
line(263,189,253,181,7)
line(253,181,214,183,7)
line(214,183,209,193,7)
line(209,193,199,235,7)
line(199,235,199,253,7)
line(199,253,206,285,7)
line(206,285,159,285,7)
line(159,285,157,258,7)
line(157,258,150,242,7)
line(150,242,122,248,7)
line(122,248,118,263,7)
line(308,30,290,77,7)
line(290,77,290,98,7)
line(290,98,261,98,7)
line(261,98,261,76,7)
line(261,76,228,76,7)
line(228,76,196,31,7)
circle(169,139,37,7,0,360,330)
paint(227,206,7)
paint(174,147,7)
paint(257,57,7)
fill(162,98,175,181,8)
line(21,226,44,230,7)
line(44,230,44,237,7)
line(44,237,49,237,7)
line(49,237,49,256,7)
line(49,256,21,266,7)
line(327,359,327,218,7)
line(327,218,345,242,7)
line(345,242,362,219,7)
line(362,219,345,190,7)
line(345,190,357,178,7)
line(357,178,376,191,7)
line(376,191,392,219,7)
line(392,219,393,233,7)
line(393,233,376,271,7)
line(376,271,358,277,7)
line(358,277,345,276,7)
line(345,276,345,359,7)
paint(362,197,7)
paint(34,245,7)
line(376,31,360,62,7)
line(360,62,384,62,7)
line(384,62,391,95,7)
line(391,95,405,55,7)
line(405,55,430,71,7)
line(430,71,423,36,7)
line(423,36,438,30,7)
paint(381,49,7)
break
case 13:/*
mc=4:rh=0
mcx(0)=324:mcy(0)=108:mcx(1)=443:mcy(1)=133:mcx(2)=372:mcy(2)=254
mcx(3)=137:mcy(3)=329
fill(21,31,490,359,0)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
box(20,30,491,360,7)
line(178,31,170,72,7)
line(170,72,179,133,7)
line(179,133,187,120,7)
line(187,120,208,142,7)
line(208,142,204,157,7)
line(204,157,247,148,7)
line(247,148,284,104,7)
line(284,104,299,126,7)
line(299,126,321,106,7)
line(321,106,317,89,7)
line(317,89,328,79,7)
line(328,79,336,64,7)
line(336,64,339,31,7)
line(308,125,318,117,5)
line(318,117,330,131,5)
line(330,131,315,153,5)
line(315,153,308,126,5)
line(316,162,344,132,7)
line(344,132,371,142,7)
line(371,142,381,185,7)
line(381,185,353,224,7)
line(353,224,323,202,7)
line(323,202,316,163,7)
line(329,195,336,200,7)
line(336,200,346,187,7)
line(346,187,340,179,7)
line(340,179,329,187,7)
line(329,187,329,196,7)
line(316,169,290,185,5)
line(290,185,291,224,5)
line(291,224,321,200,5)
line(341,217,329,255,5)
line(329,255,287,285,5)
line(287,285,298,297,5)
line(298,297,325,297,5)
line(325,297,342,265,5)
line(342,265,349,222,5)
line(92,31,93,40,7)
line(93,40,127,45,7)
line(127,45,139,31,7)
line(99,42,93,74,5)
line(93,74,123,63,5)
line(123,63,123,45,5)
line(72,31,55,45,5)
line(55,45,39,70,5)
line(38,70,32,53,5)
line(32,53,35,31,5)
paint(40,44,5)
paint(115,58,5)
paint(303,193,5)
paint(337,242,5)
paint(317,131,5)
paint(335,172,7)
paint(120,35,7)
paint(225,85,7)
circle(225,155,11,7,0,360,327)
circle(173,97,11,7,0,360,333)
paint(224,158,7)
paint(170,96,7)
circle(162,230,11,5,0,360,330)
circle(125,288,15,5,0,360,329)
circle(47,331,11,5,0,360,331)
circle(175,286,23,5,0,360,331)
circle(71,251,6,5,0,360,326)
circle(189,176,7,5,0,360,328)
circle(139,202,6,5,0,360,332)
circle(204,330,8,5,0,360,331)
circle(236,255,10,5,0,360,330)
circle(257,322,7,5,0,360,320)
circle(144,333,25,5,0,360,330)
circle(136,258,9,5,0,360,324)
circle(90,328,10,5,0,360,331)
paint(180,294,5)
paint(147,325,5)
paint(127,291,5)
paint(91,322,5)
paint(46,328,5)
paint(72,252,5)
paint(138,257,5)
paint(164,232,5)
paint(235,253,5)
paint(205,331,5)
paint(258,324,5)
paint(190,176,5)
paint(139,203,5)
circle(211,214,22,7,0,360,320)
circle(139,142,25,7,0,360,320)
line(225,155,211,212,7):line(226,155,212,212,7)
line(172,97,137,142,7):line(173,97,138,142,7)
paint(202,211,7)
paint(137,151,7)
circle(105,232,11,5,0,360,303)
circle(226,294,15,5,0,360,307)
circle(260,271,18,5,0,360,314)
circle(205,267,9,5,0,360,295)
paint(263,270,5)
paint(227,294,5)
paint(204,269,5)
paint(103,235,5)
circle(144,333,18,0,0,360,324)
paint(144,333,0)
break
case 22:/*
mc=0:rh=0
fill(21,31,490,359,0)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
box(20,30,491,360,7)
line(184,359,187,351,5)
line(187,352,194,351,5)
line(194,351,201,348,5)
line(201,348,215,344,5)
line(215,344,220,340,5)
line(220,340,224,327,5)
line(224,327,225,319,5)
line(225,319,224,275,5)
line(224,275,222,264,5)
line(222,264,222,255,5)
line(222,255,226,248,5)
line(226,248,227,224,5)
line(227,224,222,217,5)
line(222,217,218,185,5)
line(218,185,211,198,5)
line(211,198,214,207,5)
line(214,207,212,212,5)
line(212,212,213,221,5)
line(213,221,210,229,5)
line(210,229,204,225,5)
line(204,225,187,293,5)
line(187,293,180,300,5)
line(180,300,176,301,5)
line(176,301,177,287,5)
line(177,287,193,219,5)
line(193,219,189,214,5)
line(189,214,193,205,5)
line(193,205,196,205,5)
line(196,205,198,197,5)
line(198,197,196,194,5)
line(196,194,196,184,5)
line(196,184,200,179,5)
line(200,179,205,159,5)
line(205,159,205,153,5)
line(205,153,208,150,5)
line(208,150,211,129,5)
line(211,129,209,125,5)
line(209,125,211,118,5)
line(211,118,217,113,5)
line(217,113,225,110,5)
line(225,110,222,98,5)
line(222,98,219,102,5)
line(219,102,214,96,5)
line(214,96,202,66,5)
line(202,66,210,46,5)
line(210,46,240,38,5)
line(240,38,244,52,5)
line(244,52,244,63,5)
line(244,63,241,73,5)
line(241,73,248,84,5)
line(248,84,248,101,5)
line(248,101,240,92,5)
line(240,92,234,94,5)
line(234,94,233,107,5)
line(233,107,241,108,5)
line(241,108,251,107,5)
line(251,107,265,103,5)
line(265,103,276,87,5)
line(276,87,272,60,5)
line(272,60,272,48,5)
line(272,48,275,31,5)
line(310,31,320,65,5)
line(320,65,325,93,5)
line(325,93,326,139,5)
line(326,139,320,168,5)
line(320,168,305,185,5)
line(305,185,297,176,5)
line(297,176,296,189,5)
line(296,189,292,195,5)
line(292,195,289,188,5)
line(289,188,289,207,5)
line(289,207,283,203,5)
line(283,203,280,211,5)
line(280,211,277,209,5)
line(277,209,276,216,5)
line(276,216,268,213,5)
line(268,213,288,235,5)
line(288,235,287,239,5)
line(287,239,321,260,5)
line(321,260,318,271,5)
line(318,271,313,274,5)
line(313,274,314,280,5)
line(314,280,309,293,5)
line(309,293,303,292,5)
line(303,292,306,296,5)
line(306,296,297,315,5)
line(297,315,292,315,5)
line(292,315,294,318,5)
line(294,318,286,328,5)
line(286,328,281,327,5)
line(281,327,270,310,5)
line(270,310,270,307,5)
line(270,307,266,307,5)
line(266,307,267,315,5)
line(267,315,260,315,5)
line(260,315,261,318,5)
line(261,318,259,333,5)
line(259,333,263,334,5)
line(263,334,264,340,5)
line(264,340,263,343,5)
line(263,343,260,344,5)
line(260,344,263,347,5)
line(263,347,269,351,5)
line(269,351,274,346,5)
line(274,346,279,345,5)
line(279,345,283,347,5)
line(283,347,285,353,5)
line(285,353,287,359,5)
line(206,76,197,73,5)
line(197,73,193,65,5)
line(193,65,191,74,5)
line(191,74,192,86,5)
line(192,86,211,90,5)
line(223,42,222,37,5)
line(222,37,231,39,5)
paint(231,118,5)
paint(199,83,5)
paint(225,39,5)
break
case 24:/*
mc=0:rh=0
fill(21,31,490,359,0)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
break
case 25:/*
mc=0:rh=0
fill(21,31,490,359,0)
fill(458,358,483,359,15)
fill(450,357,451,359,7)
break
endswitch
endfunc
func sc()
apage(0)
fill(0,0,511,511,8)
fill(21,31,490,359,0)
box(20,30,491,360,7) /* main screen
box(19,29,492,361,7)
box(19,28,492,362,7)
box(19,407,84,475,7) /* playerdisp
box(18,408,85,474,7)
box(90,434,105,450,7)
box(89,433,106,451,7)
box(105,412,120,428,7)
box(104,411,121,429,7)
box(105,456,120,472,7)
box(104,455,121,473,7)
box(120,434,135,450,7)
box(119,433,136,451,7)
apage(1)
fill(0,0,511,369,8)
fill(21,31,490,359,0)
box(20,30,491,360,7)
box(19,29,492,361,7)
box(19,28,492,362,7)
fill(458,358,483,359,15)
/*fill(0,360,511,362,7)
color 5
pen(50,25,"AREA ")
locate 59,25:print using"##";sta
pen(50,26,"HEROES ")
locate 59,26:print using"##";hr
endfunc
func playerdisp(enter)
int ni,nj
int pdsx,pdsy
dim char lag(31)
apage(3)
pdsx=(enter mod 8)*64
pdsy=enter/8*64
for ni=0 to 127
gp(ni)=cg(enter*128+ni)
next
spcv()
for nj=0 to 15
for ni=0 to 15
lag(ni*2)=gs(nj*16+ni)*16+gs(nj*16+ni)
lag(ni*2+1)=lag(ni*2)
next
put(pdsx,nj*4+370+pdsy,pdsx+63,nj*4+370+pdsy,lag)
put(pdsx,nj*4+371+pdsy,pdsx+63,nj*4+371+pdsy,lag)
put(pdsx,nj*4+372+pdsy,pdsx+63,nj*4+372+pdsy,lag)
put(pdsx,nj*4+373+pdsy,pdsx+63,nj*4+373+pdsy,lag)
next
apage(0)
endfunc
func playerdisp2(enter)
int pdsx,pdsy
apage(3)
pdsx=(enter mod 8)*64
pdsy=enter/8*64+370
get(pdsx,pdsy,pdsx+63,pdsy+63,maderi)
apage(0)
put(20,410,83,473,maderi)
endfunc
func pen(nx,ny,ns;str)
locate nx,ny
print ns;
endfunc
func hitany(n)
int k
if n=1 then rere()
while 1
if strig(1)>0 then break
k=asc(inkey$(0))
if k=11 then dspc():continue
if k>0 then break
endwhile
endfunc
func dspc()
switch dip
case 0:dip=1:img_scrn(1,1,0):break
case 1:dip=0:img_scrn(1,1,1):break
endswitch
vpage(3)
endfunc
func rere()
int k
while 1
if strig(1)=0 then break
endwhile
while 1
k=asc(inkey$(0))
if k=0 then break
endwhile
endfunc
func title()
int ni,tide
sp_off()
for ni=0 to 15
mem(ni,0)=0
mem(ni,1)=0
v_disp()
next
palet(8,rgb(0,19,19))
apage(1)
vpage(0)
fill(11,270,500,356,7)
symbol(30,285,"ガイアフライ",2,2,1,8,0)
symbol(27,318,"W",1,1,1,8,0)
symbol(30,319," ONDERING THROUGH",1,1,0,8,0)
symbol(30,333,"ANY DISTANT GALAXIE.",1,1,0,8,0)
color[0,0]
color 9
pen(5,5,alpha("G"))
pen(22,5,alpha("A"))
pen(39,5,alpha("I"))
pen(47,5,alpha("A"))
palet(8,1)
palet(7,1)
vpage(3)
for ni=1 to 24
v_disp()
if ni<20 then palet(7,rgb(0,ni,ni))
if ni>5 then color[0,rgb(0,ni-5,ni-5)]
next
color 5
pen(30,24," GAME MODE:")
pen(48,24,difc$(difc))
endfunc
func titleout()
int ni
m_assign(5,2)
m_play(2)
apage(0)
fill(0,360,511,511,8)
for ni=0 to 40
v_disp()
if ni>20 then color[0,rgb(0,40-ni,40-ni)]
if ni<30 then home(1,0,511-ni*4)
next
cls
apage(1)
fill(11,270,500,356,0)
apage(0)
endfunc
func st(n)
int nx
palet(14,0)
fill(0,0,50,50,14)
paint(25,25,14)
nx=18
if n>9 then nx=12
symbol(nx,14,str$(n),2,2,0,0,0)
symbol(nx+1,14,str$(n),2,2,0,0,0)
palet(14,rgb(0,19,19))
endfunc
func str alpha(ns;str)
str rs,k$,b$,c$,d$
int ni
b$=" "
c$=" "+chr$(28)+chr$(28)+chr$(28)+chr$(28)+chr$(28)+chr$(28)+chr$(28)+" "
d$=" "+chr$(29)+chr$(29)+chr$(29)+chr$(29)+chr$(29)+chr$(31)
for ni=1 to 15
k$=k$+chr$(29)
next
k$=k$+chr$(31)
switch asc(ns)
case &h47:/*g(G)
rs=b$+k$+b$+k$+c$+k$+d$+d$+d$+c$+k$+c$+k$+c$+k$+b$+k$+b$
break
case &h41:/*a(A)
rs=b$+k$+b$+k$+c$+k$+c$+k$+c$+k$+b$+k$+b$+k$+c$+k$+c$+k$+c$+k$+c$+k$
break
case &h49:/*i(I)
for ni=0 to 10
rs=rs+" "+chr$(29)+chr$(29)+chr$(29)+chr$(29)+chr$(29)+chr$(29)+chr$(31)
next
break
endswitch
return(rs)
endfunc
func gset()
int f,r,ni
dim char red(4095)
for ni=1 to 15
sp_color(ni,rgb(0,22,0),2)
sp_color(ni,rgb(0,17,0),3)
sp_color(ni,rgb(0,12,0),4)
next
sp_color(1,rgb(14,2,2))
sp_color(2,rgb(27,23,15))
sp_color(3,rgb(2,10,23))
sp_color(4,rgb(1,12,27))
sp_color(5,rgb(24,0,0))
sp_color(6,rgb(30,18,2))
sp_color(7,rgb(0,19,19))
sp_color(8,rgb(0,0,0))
sp_color(9,rgb(10,10,10))
sp_color(10,rgb(16,15,15))
sp_color(11,rgb(22,23,23))
sp_color(12,rgb(24,28,6))
sp_color(13,rgb(15,15,27))
sp_color(14,rgb(22,20,13))
sp_color(15,rgb(31,31,31))
palet(1,rgb(14,2,2))
palet(2,rgb(27,23,15))
palet(3,rgb(2,10,23))
palet(4,rgb(1,12,27))
palet(5,rgb(24,0,0))
palet(6,rgb(30,18,2))
palet(7,rgb(0,19,19))
palet(8,rgb(0,0,0))
palet(9,rgb(10,10,10))
palet(10,rgb(16,15,15))
palet(11,rgb(22,23,23))
palet(12,rgb(24,28,6))
palet(13,rgb(15,15,27))
palet(14,rgb(22,20,13))
palet(15,rgb(31,31,31))
vpage(0)
r=fopen("GAIA.GP","r")
f=fseek(r,4,0)
f=fread(red,4096,r)
put(0,0,127,63,red)
/* get(0,0,3,63,red)
/* put(128,0,131,63,red)
/* get(4,0,131,63,red)
/* put(0,0,127,63,red)
for ni=0 to 3
get(0,ni*16,31,ni*16+15,gs)
put(500,0,501,255,gs)
get(501,0,501,255,gp)
put(0,0,15,15,gp)
put(200,ni*4,455,ni*4,gp)
sp_def(ni*4,gs)
get(32,ni*16,63,ni*16+15,gs)
put(500,0,501,255,gs)
get(501,0,501,255,gp)
put(200,ni*4+1,455,ni*4+1,gp)
sp_def(ni*4+1,gs)
get(64,ni*16,95,ni*16+15,gs)
put(500,0,501,255,gs)
get(501,0,501,255,gp)
put(200,ni*4+2,455,ni*4+2,gp)
sp_def(ni*4+2,gs)
get(96,ni*16,127,ni*16+15,gs)
put(500,0,501,255,gs)
get(501,0,501,255,gp)
put(200,ni*4+3,455,ni*4+3,gp)
sp_def(ni*4+3,gs)
next
get(200,0,455,15,cg)
fill(200,0,455,31,0)
fill(501,0,501,255,0)
f=fread(red,4096,r)
put(0,0,127,63,red)
for ni=0 to 3
get(0,ni*16,31,ni*16+15,gs)
sp_def(16+ni*4,gs)
get(32,ni*16,63,ni*16+15,gs)
sp_def(16+ni*4+1,gs)
get(64,ni*16,95,ni*16+15,gs)
sp_def(16+ni*4+2,gs)
get(96,ni*16,127,ni*16+15,gs)
sp_def(16+ni*4+3,gs)
next
f=fread(red,1024,r)
put(0,0,127,15,red)
get(0,0,31,15,gs):sp_def(33,gs) /* ハンド
get(32,0,63,15,gs):pless():apage(3):put(64,0,79,15,gs):apage(0) /* ガイトウ
get(64,0,95,15,gs):sp_def(34,gs) /* テンドン
get(96,0,127,15,gs):sp_def(32,gs) /* ラーメン ドンブリ
f=fread(red,4096,r)
put(0,0,127,63,red)
get(64,0,95,15,gs):sp_def(35,gs) /* ouch
get(96,0,127,15,gs):sp_def(36,gs) /* ,
get(64,16,95,31,gs):sp_def(37,gs) /* ,
get(96,16,127,31,gs):sp_def(38,gs) /* ,
get(0,0,31,15,gs):sp_def(41,gs) /* タマ 1
get(32,0,63,15,gs):sp_def(42,gs) /* タマ 2
get(0,16,31,31,gs):sp_def(43,gs) /* タマ 3
get(32,16,63,31,gs):sp_def(44,gs) /* タマ 4
get(0,32,31,47,gs):pless():apage(3):put(0,0,15,15,gs):apage(0)
get(32,32,63,47,gs):pless():apage(3):put(16,0,31,15,gs):apage(0)
get(64,32,95,47,gs):pless():apage(3):put(32,0,47,15,gs):apage(0) /*
get(96,32,127,47,gs):pless():apage(3):put(48,0,63,15,gs):apage(0) /* バクハツ
get(0,48,31,63,gs):pless():apage(3):put(0,16,15,31,gs):apage(0) /*
get(32,48,63,63,gs):pless():apage(3):put(16,16,31,31,gs):apage(0)
get(64,48,95,63,gs):pless():apage(3):put(32,16,47,31,gs):apage(0)
get(96,48,127,63,gs):pless():apage(3):put(48,16,63,31,gs):apage(0)
f=fread(red,4096,r)
put(0,0,127,63,red)
for ni=0 to 63
apage(0)
get(ni*2+1,0,ni*2+1,63,gs)
apage(3)
put(ni,32,ni,95,gs)
next
apage(0)
f=fread(red,2048,r)
put(0,96,127,127,red)
f=fread(red,2048,r)
put(128,96,255,127,red)
f=fread(red,2048,r)
put(256,96,383,127,red)
f=fread(red,2048,r)
put(384,96,511,127,red)
for ni=0 to 207
apage(0)
get(ni*2+1,96,ni*2+1,127,gs)
apage(3)
put(ni,96,ni,127,gs)
next
apage(0)
fill(0,0,63,63,0)
circle(7,7,6,4,0,180,256)
circle(7,25,6,4,180,0,256)
line(2,5,2,26,4)
line(12,5,12,26,4)
fill(1,6,13,8,5)
fill(1,24,13,26,5)
paint(7,5,4)
paint(7,27,4)
pset(7,8,15)
pset(7,24,15)
get(0,0,15,15,gp)
spcv()
sp_def(45,gs)
get(0,16,15,31,gp)
spcv()
sp_def(46,gs)
fclose(r)
wipe()
endfunc
func pless()
int ni,nn
for ni=0 to 127
nn=gs(ni*2) and 15
gs(ni)=nn*16
nn=gs(ni*2+1) and 15
gs(ni)=gs(ni)+nn
next
endfunc
func entersel()
int i
char offstrig=0
char direk
int mime
char mimes=1
pdr=0
trig=0
charge=0
info(0)
apage(0)
fill(21,31,490,359,0)
for i=0 to 5
mis(i,0)=0
sp_off(76+i)
next
for i=0 to 15
if mem(herrord(i),0)=1 then if mem(herrord(i),1)=0 then break
next
fir=i
enter=herrord(i)
playerdisp2(enter)
sp_move(20,px,py,enter)
selec(15):fill(54,91,59,94,5)
i=0
while 1
while 1
if asc(inkey$(0))=11 then dspc()
k=strig(1):if offstrig=0 then if k=1 then k=32:break
k=stick(1)
if k>0 then break
mime=mime+1:if mime=500 then {
mime=0:if mimes=0 then mimes=1 else mimes=0
v_disp()
apage(0):fill(54,91,59,94,mimes*5):apage(1)
}
if xi>0 then {
v_disp()
apage(0)
switch direk
case 0:/*
if xi<11 then pxm(0)=pxm(0)+3
switch xi
case 1:pxm(1)=pxm(1)-5:pym(1)=pym(1)-4:break
case 2:pxm(1)=pxm(1)-4:pym(1)=pym(1)-3:break
case 3:pxm(1)=pxm(1)-3:pym(1)=pym(1)-2:break
case 4:pxm(1)=pxm(1)-3:pym(1)=pym(1)-1:break
case 5:pxm(1)=pxm(1)-2:pym(1)=pym(1):break
case 6:pxm(1)=pxm(1)-2:pym(1)=pym(1):i=0:selec(15):fill(54,91,59,94,0):break
case 7:pxm(1)=pxm(1)-2:pym(1)=pym(1):break
case 8:pxm(1)=pxm(1)-1:pym(1)=pym(1)+1:break
case 9:sp_off(21):break
case 10:pxm(0)=38:break
case 11:xi=-1
playerdisp2(enter)
sp_off(21)
offstrig=0:mimes=0:mime=350
break
endswitch
break
case 1:/*
if xi<11 then pxm(1)=pxm(1)-5
switch xi
case 1:pxm(0)=pxm(0)+1:break
case 2:pxm(0)=pxm(0)+2:break
case 3:pxm(0)=pxm(0)+2:break
case 4:pxm(0)=pxm(0)+2:break
case 5:pxm(0)=pxm(0)+3:pym(0)=pym(0)+1:break
case 6:pxm(0)=pxm(0)+3:i=0:selec(15):fill(54,91,59,94,0):break
case 7:pxm(0)=pxm(0)+4:pym(0)=pym(0):pym(0)=pym(0)+1:break
case 8:pxm(0)=pxm(0)+5:pym(0)=pym(0):pym(0)=pym(0)+1:break
case 9:sp_off(21):pym(0)=pym(0)+2:break
case 10:pxm(0)=38:pym(0)=pym(0)+3:break
case 11:xi=-1
playerdisp2(enter)
sp_off(21)
offstrig=0:mimes=0:mime=350
break
endswitch
endswitch
apage(1)
xi=xi+1
if xi>0 then if xi<9 then sp_move(21,pxm(1),pym(1),vi)
sp_move(20,pxm(0),pym(0),enter)
}
endwhile
if i=0 then if k=6 then {
direk=0
vi=enter:fir=fir+1:if fir=16 then fir=0
i=1
while 1
if mem(herrord(fir),0)=1 then if mem(herrord(fir),1)=0 then break
fir=fir+1:if fir=16 then fir=0
endwhile
enter=herrord(fir)
}
if i=0 then if k=4 then {
direk=1
vi=enter:fir=fir-1:if fir=-1 then fir=15
i=1
while 1
if mem(herrord(fir),0)=1 then if mem(herrord(fir),1)=0 then break
fir=fir-1:if fir=-1 then fir=15
endwhile
enter=herrord(fir)
}
if i=1 then if vi<>enter then {
xi=1
offstrig=1
mimes=0:mime=0
apage(0)
selec(0):fill(54,91,59,94,0)
pxm(0)=0:pym(0)=100:if direk=1 then pym(0)=91:pxm(0)=9
pxm(1)=40:pym(1)=100
i=2
apage(1)
}
if k=32 then break
endwhile
apage(0):selec(0):fill(54,91,59,94,0):apage(1)
for i=0 to 5
pxm(i)=px:pym(i)=py
next
fir=1
endfunc
func result()
int cany
dim char stsp(99)
apage(0)
info(0)
symbol(40,120,"GAME OVER",8,1,0,5,0)
symbol(40,121,"GAME OVER",8,1,0,5,0)
apage(1)
for cany=1 to 165
line(21,cany*2+29,490,cany*2+29,0)
next
for cany=0 to 163
line(21,358-cany*2,490,358-cany*2,0)
next
apage(0)
sp_off()
hitany(1)
quik=1
cls
vpage(0)
wipe()
apage(1):wipe()
apage(2):wipe()
/*apage(3):wipe() 消さんでよろしい
apage(0)
endfunc
func stifi() /* キャラクタ順位の更新
int ni,si,sis,sip
dim char ensi(15)
si=0
while 1
sis=-1
for ni=0 to 15
if ensi(ni)=1 then continue
if hr_point(ni)>sis then sis=hr_point(ni):sip=ni
next
herrord(si)=sip
ensi(sip)=1
si=si+1
if si=16 then break
endwhile
endfunc
func char oz(n) /* ワン・ゼロ反転
if n=0 then return(1)
if n=1 then return(0)
return(-1)
endfunc
func enn()
int zzzz
for zzzz=0 to 15
if mem(zzzz,0)=1 then sp_move(zzzz+25,350+rnd()*150,320+rnd()*25,zzzz)
next
hata(1)
pen(8,12,"WOW,YEAH,")
pen(8,13,"HEY IT'S WONDERFUL")
pen(8,15,"** ALL CLEAR **")
pen(8,17,"・・・THANK YOU.")
pen(8,18,"FROM ZLS and NO")
pen(8,20,"GAME IS FREEZED")
pen(8,21,"in PEACE!")
while 1
endwhile
endfunc
func int rvrh()
int zzi,rv
for zzi=0 to 16
rv=99:if zzi=16 then break
if mem(herrord(zzi),1)=2 then rv=herrord(zzi):break
next
return(rv)
endfunc
func info(n)
int ni
int out_p,rdy_p,ypt
dim char redih(15)
rdy_p=25:out_p=472:ypt=368
if rh>0 then {
for ni=0 to rh-1
if rx(ni)=999 then sp_off(25+ni)
next
}
stifi()
for ni=0 to 15
sp_off(60+ni)
if mem(ni,0)=0 then continue
if n=1 then if ni=enter then continue
if mem(ni,1)=1 then {
out_p=gh-mem(ni,6)
if out_p>7 then out_p=out_p-7:sp_move(60+ni,472-(16*out_p),385,ni):continue
sp_move(60+ni,472-(16*out_p),368,ni)
continue
}
if mem(ni,1)=2 then sp_off(60+ni):continue
redih(ni)=0
if mem(ni,1)=0 then redih(ni)=1
next
for ni=0 to 15
if redih(herrord(ni))=1 then sp_move(60+herrord(ni),rdy_p,ypt,herrord(ni)):rdy_p=rdy_p+16:if rdy_p=153 then rdy_p=25:ypt=385
next
endfunc
/* sprite information
/*
/* 20 自機 21-23 残像 25-40 寮機 41-53 ラーメン鉢 55-58 O.U.C.H
/* 60-75 INFOMATION 76-81 自機ショット 11-19 敵ショット
/* 0-10 各種エフェクト